
#ifndef hash_h
#define hash_h

#include "els_VTypes.h"

typedef struct node
{
 Object ref;
 Object val;
} Node;

typedef struct Hash
{
 struct Hash   *next;
 char           mark;
 Word          nhash;
 Word           nuse;
 Node          *node;
} Hash;


Bool     els_equalObj (Object *t1, Object *t2);
Hash    *els_createarray (Word nhash);
void     els_hashmark (Hash *h);
Long     els_hashcollector (void);
Object  *els_hashget (Hash *t, Object *ref);
Object 	*els_hashinit (Hash *t, Object *ref);

#endif
